Introdução


Vamos comparar as séries Game of Thrones e Xena a Princesa Guerreira para responder :

  • Qual das duas é mais bem avaliada pelos usuários?
    • A diferença se mantém ao longo das temporadas?
    • Existe efeito por ser começo/fim ou metade da temporada?

Conjunto de dados utilizado

Análise exploratória de dados do IMDB sobre as séries Game of Thrones e Xena a Princesa Guerreira. Os dados originais e as variáveis vêm deste repositorio . Lá consta a explicação de como os dados foram gerados e do significado de cada variável.

episodes <- read_csv(here("data/series_from_imdb.csv"), 
                    progress = FALSE,
                    col_types = cols(.default = col_double(), 
                                     series_name = col_character(), 
                                     episode = col_character(), 
                                     url = col_character(),
                                     season = col_character())) %>% 
    filter(series_name %in% c("Game of Thrones","Xena a Princesa Guerreira")) 

episodes %>% 
    glimpse()
## Observations: 194
## Variables: 18
## $ series_name <chr> "Xena a Princesa Guerreira", "Xena a Princesa Guer...
## $ episode     <chr> "Sins of the Past", "Chariots of War", "Dreamworke...
## $ series_ep   <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,...
## $ season      <chr> "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", ...
## $ season_ep   <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,...
## $ url         <chr> "http://www.imdb.com/title/tt0394990/", "http://ww...
## $ user_rating <dbl> 7.9, 7.4, 7.7, 7.4, 7.5, 7.7, 7.5, 8.0, 7.8, 7.6, ...
## $ user_votes  <dbl> 440, 339, 318, 297, 288, 282, 270, 303, 278, 287, ...
## $ r1          <dbl> 0.003623188, 0.025641026, 0.064516129, 0.023474178...
## $ r2          <dbl> 0.04347826, 0.03846154, 0.03548387, 0.02347418, 0....
## $ r3          <dbl> 0.010869565, 0.038461538, 0.029032258, 0.004694836...
## $ r4          <dbl> 0.007246377, 0.034188034, 0.022580645, 0.023474178...
## $ r5          <dbl> 0.018115942, 0.042735043, 0.019354839, 0.046948357...
## $ r6          <dbl> 0.02536232, 0.12393162, 0.03870968, 0.06103286, 0....
## $ r7          <dbl> 0.08695652, 0.16239316, 0.05161290, 0.11267606, 0....
## $ r8          <dbl> 0.1086957, 0.1666667, 0.1354839, 0.2112676, 0.1804...
## $ r9          <dbl> 0.15579710, 0.09829060, 0.17096774, 0.18309859, 0....
## $ r10         <dbl> 0.5398551, 0.2692308, 0.4322581, 0.3098592, 0.3383...

Episódios da metade da temporada

A título de tornar nossa discussão mais interessante vamos gerar uma nova informação : “Um episódio faz parte da metade da temporada?” (middle_eps). Um episódio é da metade da temporada se está entre os 60% dos episódios centrais de uma temporada.

sumario_simples <- 
    episodes %>% 
    select(season_ep,season,series_name) %>%
    group_by(series_name,season) %>% 
    summarise(n = n(),
               p20 = quantile(seq(from=1, to=n, by=1), 0.20),
               p80 = quantile(seq(from=1, to=n, by=1), 0.80))

episodes <- left_join(episodes, sumario_simples,
                      by = c("series_name", "season")) %>% 
    group_by(series_name, season) %>%
    mutate(middle_eps = (season_ep > p20) &
               (season_ep < p80)) %>% 
    ungroup()
episodes %>% 
    select(series_name, series_ep, middle_eps)

E aí, quem se saiu melhor?


Comparemos então as avaliações dadas aos episódios das duas séries ao longo de suas 6 temporadas:


m <- list(
  b = 100,
  r = 185,
  t = 75
  )

p <- episodes %>% 
      ggplot(aes(x = series_name, y = user_rating, 
                 color=middle_eps,
                 group=episode, text = paste(
                    "Série:", series_name,
                    "\nEpisódio:", episode,
                    "\nAvaliação:", user_rating
                     ))) + 
        geom_jitter(width = 0.3, alpha=0.7) +
        facet_wrap(~ season) +
        xlab("") +
        ylab("Votação do Usuário") +
        theme(axis.text.x = element_text(angle = 90, hjust = 1))  +
        scale_x_discrete(labels=c("GOT", "Xena")) +
        labs(color='Metade da temporada?') +
        ggtitle(paste("GOT x Xena (Temporada a Temporada)")) +
        theme_update(plot.title = element_text(hjust = -1))

ggplotly(p, tooltip = "text") %>%
  layout(autosize = F, margin = m)

É possível perceber que ao longo de todas as seis temporadas (na 5ª e 6ª temporada sendo menos unânime), quer sejam episódios do \(\color{red}{\text{começo/metade da temporada}}\), quer sejam \(\color{blue}{\text{do meio da temporada}}\), Game of Thrones (GOT) tem avaliações mais altas que Xena a Princeisa Guerreira (Xena).


Episódios mais bem avaliados (Curiosidade)

Entre os concorrentes a pontuação mais alta (9,9) em Game of Thrones temos um relativo domínio de episódios de começo/fim de temporadas (exceto na 4ª e 5ª temporada).

  • \(\color{red}{\text{The Rains of Castemere}}\) : Episódio que partiu o coração de muitos fãs, sem dar spoilers dá pra dizer que teve gente cogitando abandonar a série tamanha foi a desilusão.

  • \(\color{red}{\text{The Battle of Bastard }}\) e \(\color{red}{\text{The Winds of Winter}}\) : Episódios relacionados à maior batalha encenada em toda a série, e de longe uma das sequências mais esperadas da série.

  • \(\color{blue}{\text{Hardhome}}\) : Esse episódio da 5ª temporada, teve efeitos cinematográficos de qualidade tão alta, que surgiram rumores que a qualidade visual de episódios posteriores dessa temporada foi afetada negativamente por falta de orçamento.

Quanto à 4ª temporada (uma das duas exceções), embora não tenhamos episódios (9,9) nós temos um cluster de episódios bem avaliados de metade de temporada, os quais giram em torno de um certo episódio:

  • \(\color{blue}{\text{The Mountain and The Viper}}\) : Clímax da narrativa de um dos personagens mais amados da série, o cluster mencionado anteriormente, que é o pico da temporada em termos de avaliação, casa perfeitamente com o desenrolar da narrativa desse personagem.